/**
 * @author Tobias Boehm
 *
 * 06.05.2011
 */
package org.anddev.andengine.extension.tbsengine.message.server;


/**
 * This interface contains the flags for all server messages known or expected
 * to be implemented by the developer of this framework. It can also be used as
 * an overview for all available client messages.
 * 
 * 
 * @author Tobias Boehm
 *
 */
public interface DefaultTBSserverMessageFlags {
	
	/*
	 * Basic server messages
	 */
	public static final short FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY = Short.MAX_VALUE / 4;
	public static final short FLAG_SERVER_CHAT_MESSAGE_FORWARD = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 1;
	public static final short FLAG_SERVER_MATCH_PLAYER_JOINED_LEFT_ANNOUNCEMENT = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 2;
	
	
	/*
	 * Match preparation specific messages
	 */
	public static final short FLAG_SERVER_MATCHPREPARATION_PROMOTION = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 3;
	public static final short FLAG_SERVER_MATCHPREPARATION_REQUEST_REPLY = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 4;
	public static final short FLAG_SERVER_MATCHPREPARATION_SLOT_CHANGE_REQUEST_REPLY = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 5;
	public static final short FLAG_SERVER_MATCHPREPARATION_STATE_CHANGED_ANNOUNCEMENT = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 6;
	public static final short FLAG_SERVER_MATCHPREPARATION_START_REQUEST_REPLY = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 7;
	
	
	/*
	 * Abstract match preparation specific messages
	 */
	public static final short FLAG_SERVER_MATCHPREPARATION_JOIN_REUQEST_REPLY = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 8;
	public static final short FLAG_SERVER_MATCHPREPARATION_SLOT_CHANGE_ANNOUNCEMENT = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 9;
	
	
	/*
	 * InGame specific messages
	 */
	public static final short FLAG_SERVER_MATCH_STATE_CHANGED_ANNOUNCEMENT = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 10;
	public static final short FLAG_SERVER_MATCH_TURN_ANNOUNCEMENT = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 11;
	public static final short FLAG_SERVER_MATCH_ROUND_ANNOUNCEMENT = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 12;
	public static final short FLAG_SERVER_MATCH_STEP_ANNOUNCEMENT = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 13;
	public static final short FLAG_SERVER_MATCH_INGAME_VERIFICATION_REQUEST_REPLY = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 14;
	
	/*
	 * Abstract InGame specific messages
	 */
	public static final short FLAG_SERVER_MATCH_RECONNECT_REQUEST_REPLY = FLAG_SERVER_JOIN_OR_LEAVE_SERVER_REPLY + 15;
	
}
